package sort;

import java.util.Objects;

public class Cat {
    private String name;
    private int month;
    private String species;

    //构造方法
    public Cat(String name, int month, String species) {
        this.name = name;
        this.month = month;
        this.species = species;
    }

    //getter与setter方法
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getMonth() {
        return month;
    }

    public void setMonth(int month) {
        this.month = month;
    }

    public String getSpecies() {
        return species;
    }

    public void setSpecies(String species) {
        this.species = species;
    }

    //重写toString方法

    @Override
    public String toString() {
        return "名字:" + name +
                ", 年龄:" + month +
                ", 品种:" + species;
    }
    //重写hashCode和equals方法
//
//    @Override
//    public boolean equals(Object o) {
//        //判断对象是否相等,相等则返回true,不用继续比较属性了
//        if (this == o) return true;
//        //判断o是否是Cat类的对象,不是返回false
//        if (!(o instanceof Cat)) return false;
//        //判断o是否是Cat类的对象,是则强制转换为Cat类的对象,并判断属性是否完全相同
//        Cat cat = (Cat) o;
//        return getMonth() == cat.getMonth() &&
//                getName().equals(cat.getName()) &&
//                getSpecies().equals(cat.getSpecies());
//    }
//
//    @Override
//    public int hashCode() {
//        return Objects.hash(getName(), getMonth(), getSpecies());
//    }
}
